<?php
function history2stat($aHistory,$aMod)	{
	$str =	"";
	$str.=	"<table>";

	$str.=	"<tr>";
	for($i=0;$i<$aMod["sector"];$i++)	{
		for($j=$aMod["range"][$i][0];$j<=$aMod["range"][$i][1];$j++)	{
			$str.=	"<td>".$j."</td>";
		}
		$str.="<td></td>";
	}
	
	$aStat = historyCountStat($aHistory,$aMod);
	$str.="</tr>";
	
	$str.="<tr>";
	for($i=0;$i<$aMod["sector"];$i++)	{
		for($j=$aMod["range"][$i][0];$j<=$aMod["range"][$i][1];$j++)	{
			$str.=	"<td>";
			$str.=$aStat[$i][$j]["amount"];
			$str.=	"</td>";
		}		
		$str.="<td></td>";
	}
	$str.="</tr>";

	$str.="<tr>";
	for($i=0;$i<$aMod["sector"];$i++)	{
		for($j=$aMod["range"][$i][0];$j<=$aMod["range"][$i][1];$j++)	{
			$str.=	"<td>";
			if($aStat[$i][$j]["pos"]<=$aMod["amount"][$i]+1)	{
				$str.='<b class="hot">'.$aStat[$i][$j]["pos"]."</b>";
			}
			else	if($aStat[$i][$j]["pos"]>=$aMod["range"][$i][1]-$aMod["range"][$i][0]+1-$aMod["amount"][$i])	{
				$str.='<b class="cool">'.$aStat[$i][$j]["pos"]."</b>";
			}
			else	{
				$str.=$aStat[$i][$j]["pos"];
			}
			$str.=	"</td>";
		}		
		$str.="<td></td>";
	}
	$str.="</tr>";

	$str.="<tr>";
	for($i=0;$i<$aMod["sector"];$i++)	{
		for($j=$aMod["range"][$i][0];$j<=$aMod["range"][$i][1];$j++)	{
			$str.=	"<td>";
			$str.=$aStat[$i][$j]["recent"];
			$str.=	"</td>";
		}		
		$str.="<td></td>";
	}
	$str.="</tr>";
	
	$str.="</table>";
	
	return $str;
}
?>
<?php
function historyCountStat($aHistory,$aMod)	{
	$aStat = array();
	for($i=0;$i<$aMod["sector"];$i++)	{
		for($j=$aMod["range"][$i][0];$j<=$aMod["range"][$i][1];$j++)	{
			$aStat[$i][$j]["amount"]=0;
			$aStat[$i][$j]["recent"]=0;
		}
	}
	
	$RTIMES	=	20;
	$recent_Times = 0;
	foreach($aHistory as $index => $data)	{
		$ij=0;
		for($i=0;$i<$aMod["sector"];$i++)	{
			for($j=$aMod["range"][$i][0];$j<=$aMod["range"][$i][1];$j++)	{
				for($k=0;$k<$aMod["amount"][$i];$k++)	{
					if($j==$data[$k+$ij])	{
						$aStat[$i][$j]["amount"]++;
						if($recent_Times<$RTIMES)	{
							$aStat[$i][$j]["recent"]++;
						}
					}
				}
			}
			$ij	+=	$aMod["amount"][$i];
		}
		$recent_Times++;
	}

	for($i=0;$i<$aMod["sector"];$i++)	{
		$aSort[$i]=$aStat[$i];
		sort($aSort[$i]);
		$aSort[$i]=array_reverse($aSort[$i]);
	}
	
	for($i=0;$i<$aMod["sector"];$i++)	{
		for($j=$aMod["range"][$i][0];$j<=$aMod["range"][$i][1];$j++)	{
			$aStat[$i][$j]["pos"]=array_search($aStat[$i][$j],$aSort[$i])+1;
		}
	}
	
	return $aStat;
}
?>